package com.tanhua.server.service;




import com.alibaba.dubbo.config.annotation.Reference;
import com.tanhua.dubbo.server.api.TestSoulApi;
import com.tanhua.pojo.*;
import com.tanhua.server.vo.QuestionnaireVo;
import com.tanhua.dubbo.server.vo.SoulQuestionVo;
import com.tanhua.utils.UserThreadLocal;
import org.springframework.stereotype.Service;
import java.util.*;

@Service
public class TestSoulService {

    @Reference(version = "1.0.0")
    TestSoulApi testSoulApi;


    public List<QuestionnaireVo> queryQuestionnaire() {
        List<QuestionnaireVo> questionnaireVoList = new ArrayList<>();
        QuestionnaireVo questionnaireVoEasy = new QuestionnaireVo();
        QuestionnaireVo questionnaireVoMiddle = new QuestionnaireVo();
        QuestionnaireVo questionnaireVoUltimate = new QuestionnaireVo();
        User user = UserThreadLocal.get();
        Map<String, List<SoulQuestionVo>> soulQuestionVoListMap = testSoulApi.queryQuestion();
        Map<String, Integer> map = testSoulApi.queryReportByUserId(user.getId());
        if (map.get("easy") == 0) {
            questionnaireVoEasy.setIsLock(0);
            questionnaireVoMiddle.setIsLock(1);
            questionnaireVoUltimate.setIsLock(1);
        } else {
            questionnaireVoEasy.setIsLock(0);
            questionnaireVoEasy.setReportId(map.get("easy").toString());
            if (map.get("middle") == 0) {
                questionnaireVoMiddle.setIsLock(0);
                questionnaireVoUltimate.setIsLock(1);

            } else {
                questionnaireVoMiddle.setIsLock(0);
                questionnaireVoMiddle.setReportId(map.get("middle").toString());
                if (map.get("ultimate") == 0) {
                    questionnaireVoUltimate.setIsLock(0);
                } else {
                    questionnaireVoUltimate.setIsLock(0);
                    questionnaireVoUltimate.setReportId(map.get("ultimate").toString());
                }

            }
        }

        //QueryWrapper<Paper> wrapperEasy = new QueryWrapper<>();
        //wrapperEasy.eq("level", 1);
        Paper paperEasy = testSoulApi.getPaper(2);
        questionnaireVoEasy.setId(paperEasy.getPaperId().toString());
        questionnaireVoEasy.setName("初级灵魂题");
        questionnaireVoEasy.setCover(paperEasy.getCover());
        questionnaireVoEasy.setLevel("初级");
        questionnaireVoEasy.setStar(paperEasy.getStar());
        questionnaireVoEasy.setQuestions(soulQuestionVoListMap.get("easy"));
        questionnaireVoList.add(questionnaireVoEasy);

        //QueryWrapper<Paper> wrapperMiddle = new QueryWrapper<>();
        //wrapperMiddle.eq("level", 2);
        Paper paperMiddle = testSoulApi.getPaper(3);
        questionnaireVoMiddle.setId(paperMiddle.getPaperId().toString());
        questionnaireVoMiddle.setName("中级灵魂题");
        questionnaireVoMiddle.setCover(paperMiddle.getCover());
        questionnaireVoMiddle.setLevel("中级");
        questionnaireVoMiddle.setStar(paperMiddle.getStar());
        questionnaireVoMiddle.setQuestions(soulQuestionVoListMap.get("middle"));
        questionnaireVoList.add(questionnaireVoMiddle);


       // QueryWrapper<Paper> wrapperUltimate = new QueryWrapper<>();
        //wrapperUltimate.eq("level", 3);
        Paper paperUltimate =testSoulApi.getPaper(5);
        questionnaireVoUltimate.setId(paperUltimate.getPaperId().toString());
        questionnaireVoUltimate.setName("高级灵魂题");
        questionnaireVoUltimate.setCover(paperUltimate.getCover());
        questionnaireVoUltimate.setLevel("高级");
        questionnaireVoUltimate.setStar(paperUltimate.getStar());
        questionnaireVoUltimate.setQuestions(soulQuestionVoListMap.get("ultimate"));
        questionnaireVoList.add(questionnaireVoUltimate);


        return questionnaireVoList;

    }

    // middle
    //ultimate


}
